// 天气相关常量和枚举

// 天气图标映射
export const WEATHER_ICON_MAP: { [key: string]: string } = {
  '0': '☀️',    // 晴天
  '1': '🌤️',    // 多云
  '2': '⛅',    // 阴天
  '3': '☁️',    // 多云
  '45': '🌫️',   // 雾
  '48': '🌫️',   // 雾凇
  '51': '🌦️',   // 小雨
  '53': '🌧️',   // 中雨
  '55': '🌧️',   // 大雨
  '61': '🌦️',   // 小雨
  '63': '🌧️',   // 中雨
  '65': '🌧️',   // 大雨
  '71': '🌨️',   // 小雪
  '73': '❄️',   // 中雪
  '75': '❄️',   // 大雪
  '77': '🌨️',   // 雪粒
  '80': '🌦️',   // 阵雨
  '81': '🌧️',   // 阵雨
  '82': '⛈️',   // 暴雨
  '85': '🌨️',   // 阵雪
  '86': '❄️',   // 阵雪
  '95': '⛈️',   // 雷暴
  '96': '⛈️',   // 雷暴伴冰雹
  '99': '⛈️'    // 雷暴伴冰雹
};

// 天气描述映射
export const WEATHER_DESCRIPTION_MAP: { [key: number]: string } = {
  0: '晴天',
  1: '多云',
  2: '阴天',
  3: '多云',
  45: '雾',
  48: '雾凇',
  51: '小雨',
  53: '中雨',
  55: '大雨',
  61: '小雨',
  63: '中雨',
  65: '大雨',
  71: '小雪',
  73: '中雪',
  75: '大雪',
  77: '雪粒',
  80: '阵雨',
  81: '阵雨',
  82: '暴雨',
  85: '阵雪',
  86: '阵雪',
  95: '雷暴',
  96: '雷暴伴冰雹',
  99: '雷暴伴冰雹'
};

// 默认天气图标
export const DEFAULT_WEATHER_ICON = '🌤️';

// 默认天气描述
export const DEFAULT_WEATHER_DESCRIPTION = '未知';

// 获取天气图标的工具函数
export const getWeatherIcon = (weatherCode: string | number): string => {
  return WEATHER_ICON_MAP[String(weatherCode)] || DEFAULT_WEATHER_ICON;
};

// 获取天气描述的工具函数
export const getWeatherDescription = (weatherCode: number): string => {
  return WEATHER_DESCRIPTION_MAP[weatherCode] || DEFAULT_WEATHER_DESCRIPTION;
};

// 佛山地理坐标
export const FOSHAN_COORDINATES = {
  latitude: 23.0218,
  longitude: 113.1219
};

// 默认天气数据
export const DEFAULT_WEATHER_DATA = {
  location: '广东省佛山市',
  temperature: '22°C',
  weather: '多云',
  icon: '⛅',
  humidity: '65%',
  windSpeed: '8 km/h',
  sunrise: '6:30',
  sunset: '18:45',
  forecast: [
    { day: '今天', icon: '⛅', high: '22°', low: '16°' },
    { day: '明天', icon: '🌧️', high: '20°', low: '14°' },
    { day: '后天', icon: '☀️', high: '25°', low: '18°' },
    { day: '周四', icon: '🌤️', high: '23°', low: '17°' }
  ]
};

// 加载中的天气数据
export const LOADING_WEATHER_DATA = {
  location: '获取中...',
  temperature: '--°C',
  weather: '加载中',
  icon: '🌤️',
  humidity: '--%',
  windSpeed: '-- km/h',
  sunrise: '--:--',
  sunset: '--:--',
  forecast: []
};